import { CanDeactivate } from '@angular/router';
import { InfoUpdateFormComponent } from '../businesses/info-update-form/info-update-form.component';

export class UnsaveGuard implements CanDeactivate<InfoUpdateFormComponent> {
    // 第一个参数 范型类型的组件
    // 根据当前要保护组件 的状态 判断当前用户是否能够离开

    canDeactivate(infoUpdateFormComponent: InfoUpdateFormComponent) {
        if (JSON.stringify(infoUpdateFormComponent.InfoForm.value) !== localStorage.getItem('info')) {
            const status = confirm('尚未保存，确定离开？');
            if (status === true) {
                return true;
            } else {
                return false;
            }
        } else {
            return true;
        }
    }
}
